// package com.demo.config.canal.redisAndRabbitMQ;
//
// import cn.hutool.json.JSONObject;
// import cn.hutool.json.JSONUtil;
// import com.demo.config.canal.test3.TableOperationStrategy;
// import com.demo.config.redis.RedisUtil;
// import lombok.extern.slf4j.Slf4j;
// import org.springframework.amqp.core.AmqpTemplate;
// import org.springframework.beans.factory.annotation.Autowired;
// import org.springframework.stereotype.Component;
//
/// **
// * logistics_info 数据库操作表名称
// * @author simon
// * 具体策略类
// */
// @Component("logistics_info")
// @Slf4j
// public class AccountInfoOpration implements TableOperationStrategy {
//
// private static final String REDIS_KEY_PREFIX = "logistics_info::";
//
// private static final String LOGIN_NAME_FIELD = "orderNo";
//
// @Autowired
// private RedisUtil redisUtil;
// @Autowired
// private AmqpTemplate amqpTemplate;
//
//
// /**
// * 当前数据库新增操作
// * @param value
// */
// @Override
// public void insert(String value) {
// // 操作的数据-新增、修改等
// JSONObject jsonObject = JSONUtil.parseObj(value);
// // 标识字段值
// String loginName = jsonObject.getStr(LOGIN_NAME_FIELD);
// // 枷锁操作
// redisUtil.lock(Constants.generateKey(REDIS_KEY_PREFIX, loginName), value,
// Constants.REFIS_KEY_TIMEOUT);
// //redis 参数1：交换机名称，2：绑定队列与交换机规则key，3：传递的参数
// amqpTemplate.convertAndSend("topicExchange","chnal666.goods","111111111111111111111111111111");
//
// }
//
// @Override
// public void delete(String value) {
// JSONObject jsonObject = JSONUtil.parseObj(value);
// String loginName = jsonObject.getStr(LOGIN_NAME_FIELD);
// redisUtil.unlock(Constants.generateKey(REDIS_KEY_PREFIX, loginName),value);
// }
//
// @Override
// public void update(String value) {
// JSONObject jsonObject = JSONUtil.parseObj(value);
// String loginName = jsonObject.getStr(LOGIN_NAME_FIELD);
// // 先删除再新增
// redisUtil.unlock(Constants.generateKey(REDIS_KEY_PREFIX, loginName),value);
// redisUtil.lock(Constants.generateKey(REDIS_KEY_PREFIX, loginName), value,
// Constants.REFIS_KEY_TIMEOUT);
// }
// }
